documentation and function input modification