partial progress on solution