added compile-time checks