rm tree methods and refactor events() so it uses the tables