actually has a... value rule parser