added implementation of character roles