Implement new type API