Got stuck for a bit from time to time, but eventually managed to finish it. Some good puzzling here - I like it.