changed pusher to use timer instead of sleep