Based on the Brian Advent Tutorial w/ All Fixes