Single /catalog controller 

We should go through this carefully, but I think this fixes #580.