setup must depend on clean