added comments
added TODOs