added custom toJSON method
wrapped all methods to stay consistent
reorganized repetitive test code
version bump