Incorporated all changes