update documentation and prepare for function testing
start writing tests for function management