TODO : implement switch in each modules differently.