Initial commit. Everything is basically done.

