refactored concept to its own package