refactored Frame