don't pass 'base' value around