new implementation of halt method