added NDEBUG macro for non-debugging build