move the functions from abstract model to default model