split class file and create  singleton dispacher
splite module design