added optional ujson support
reorganizing the source tree