changing project structure and adding some interfaces.