adding 'new' functionality to define type.