move assert to its own header