extend to support ci