basic create update view functionality