smart copy

* unfinished plugin module
* testing design pattern (prototype pattern using copy module)
new interface

* output display
* parser
* file splitting