added todo and notes and some elaboration in comments