Initial commit. Various changes. Mohaha.