some documentation and todo's