added comments, started tests