added changes and more solutions