Split implementation from json spec