some more optimizations; property descriptors refactored