in debug builds add a bunch more checking. If non-debug builds behave as normal. Tests should check both debug and non debug builds