abort logic