add actions and refactor related entities