Solving the programming challenge presented by Lyft for their Software Development Role