automatic code reuse