refactored Director to 100 lines