restructure for better scrolling