better code reuse