nit formatting:
"Return: False in TESTMODE, True on success"
"Abort (exit) on failure"

But also, why exit instread of raising an exception like before? exception are cleaner to handle imo