feat(ALL); refactor base out; add mousepos, text, bind