not handling cancel see if this works properly