with user constrol