use state.go instead of location.path
Rewrote the permission system and updated to the new frame