functions with returnNew will now use this.constructor to create new instances
1.4.0