implemented all method, use existing isJSON