added smart json