refactoring. Changed project structure and edited package names to
improve readability