added better property support