explained changes on original version