add some error handling to help with validation
add one role validation method to be used in child objects