huge refactoring.. commands are now decoupled from main \o/