initial checkin FunctionGenerator based on jsyn