added func::pair for natural pairing
added function expression templates