Refactored Prototype

 - Refactored Prototype as first step to refactoring the whole role
structure
Added Extend

 - Added Extend
Refactored How Roles are Built

- Refactor roles