some refactoring and scrollview added