programming exercise (users, roles, organization hierarchy)