creation of functional object