added a todo task
add docs and some minor refactors