further ping implementation