mostly done documentation