added comments, fixed colours, misc. changes