should these be actual checks rather than asserts?