working draft for pinger and pusher