added some TODOs, ideas and comments for clarification