added comments, ready to be done