make Ping return an error instead of a bool