Added a method to get all the instances
Better memoization
Implemented filters