closes #10, closes #9, closes #8, closes #2, closes #1, stable save filter sets and categories