added all previous changes