Re-organize module structure