pulled out the scrollTo functionality and made it an optional callback to be set in initialisation