first working variant