added json module with tests