models split from controller