Added many changes