[FIX] cleanup, add Chris suggestions
[TEST] also test the exceptions