more work on solution