separated catalog logic from server; file upload complete