added more properties to return from toJSON
added shareAddress property and some refactoring
line is too long