First actual commit

Not completely tested yet.