ver1.1 - works great on current test cases. need more challenges