documentation, optimization, interface cleanup