added noAssert option
better code organization