Detailed explanations to complicated questions :)