complete and remove functioning