Add documentation; cleanup