add datatypes and bugfix