uploaded partial solution