Initial commit of code. Not totally done, but definitely usable