make new return optional - defaults to old behavior