updated documentation and todos