More improvements on the features

- migrate auth to feature state
- formalize some rules