wrote down the base idea and most of the \TODO notes