Integrated Pull Request

This is what we have done till now. It is unstructured, we have changes in design and in some codes. It is working well. We can use this as a base and develop further by creating issues and smaller code changes.