add documentation & fix minor bugs