Bit of comments so the code can be understood =)