Various improvements.

Please let me know if you require any changes.

Thanks for the plugin.
I don't get why this type should be `Object`.