allow API service locations to be multiple dirs; allow base class obj to have no constructor