first commit of functional spec