preparing for some code reuse