added comments and TODOs