refactoring, only using userscript now