refactoring views, adding layout, implementing infinite scroll