Feature/change contact model to protocol