refactered according to the architecture
added architecture.jpg