refactored building object