Some changes in structure added and Interfaces added