Add Post model, refactor