Character creation implemented

There may be a few cases where it fails and this will require some
testing.