interesting problem, loved working on it