more function and data types