completed through section 1.5 of ublaze tut