reworking bon system to use json