adding interfaces and classes and update to readme file