add scroll suggest, minor refactoring