@markpu: My solution to