added some static_asserts