basic module type dispatcher logic