Initial commit

Initial commit. Much cleanup needed. Not even close to done.