add documentation, improve readme and todolist