Updated GenOps

Now uses shared DAOs instead of instantiating instances of it for each
usage