modified window scroll to add more methods and be ready to be extended (plugin-ized)