restructured distribution to make it modular