moved pusher stuff into a module