Many changes. Everything works