Refactor to organize models