make symbolic method rule more declarative