modified project structure. added shared module, to make reader without dependecy of agent