role definitions added and tests passing