re-orgnize the models