updated do_create