finished json serialization and added some tests

ready to begin front-end!

NOTE: still need to refactor into separate methods, but that shouldn't
be too difficult