* applications can be run at the same time.
* bunch of refactorings.