- migrate to plugin architecture to make it extensible
- added EXEC command
- added PLUGIN command
- more unit tests and documentation