customized overall code structure