scrolling through the flat profile works, but the code is still ugly. do fix