starting to split things in module around dispatcher