Changed project structure, have done some refactorings.