added JSON endpoints