Cleaned up solutions. All tests pass.