added role tracking and versioning