comments and TODOs added