restructe article model. implement revisions