Solved. Includes Christian's solution.