Add new functions and a new type