defining datatypes and add attributes editing