Refactoring, added scrolling features.