added macro assert