re-structured and added new models