#8 added the criteria class