working descriptors, refactoring