added custom method GetType, GetSetGetProperties