fixed duplicate-naming
added json & bson components (still more to go)
updated structs and fixed syntax for custom marshal logic