use local vars
decoupling