adding solution (50% working) for surface challenge