I respect really good puzzle design, and this is it. Lots of good setups that teach a mechanic, followed up by an interesting application of the same mechanic. Well done!