preliminary JSON-based changes