Refactored solution classess