refactored workspace