added a bunch of stuff and forgot to commit a long time ago like a
terrible jerk oops