refactored back to association