added new permissions, refactor