Initial checkin of Lab 4.2

Should do what it needs to, probably needs a bit of polish.