replaced static assert