cut over to functional inheritance as per Crockford 2008 pg 52