Added further code towards criteria pattern