specify install_requires for Pip to install the package correctly
import order is not predicable
refactor for pip install