added a more efficient json stringer impl