projectCode must be unique
don't catch all exceptions