reset version numbers
recursive toJSON implemented and tests added