bunch o' changes i haven't checked in for awhile