restructure modules to avoid name space conflict