eliminated GSL dependency