implement filtering for purchase