implementing solution