refactor out the cancel timer into its own function
change non debug mode ?DEBUG/2

it was causing an issue with dialyzer, just have it return ok.