added comments and future @TODOs