updated to seperate models