First draft of new Function template