fully functional to specification with desired output