initial version of Functions