adding some static asserts for template parameters