Moved logic into fitler method, which will push changes to filtered collection, better chance for later optimisation this way around and also can support move event, this code has not been compiled