json encoder is now it's own module