this is way longer and deeper than it first looks... but i think i have all the basics done