refactored structure