added changes and fixes