Initial commit.
Basic impl.
Changes. Missing Guard, Priest.