remove unused functions, add documentation