it should be an optional dependency