variable generator