refine my solution