extending with JSON functionality