Initial commit. Is a mess. I know.