done with appointment model