refactored solution again!