encapsulate the model part to ease the routing part