class reorganization
code refactor
new configuration options