use MonadPlus to filter entities