a solution that works