added left state generation