still needs to track state of current selection through methods