added asserts