Reorganize for modules
use modules where possible