use the new declaration style, no code generation needed