add documentation, modify function name