diff lapse solution
diff lapse solution with additions from Phils solution