why not just return err ?