upated version of modelViewController