Moved functionality to baseModel. Not finished