added placeholder ping() and a avail()