renamed some classes and packages
added factory classes and implemented abstract template
added decorator classes and finished simpleTemplate code