removed warnings and TODOS (almost all of them)