refactored entities