refactored representations