i thought this was pretty straightforward at first but some of the later mechanics were quite surprising, nicely done!