modified insert(),update()