What can be wrong with a contract like this? Are there any libraries in AccessControl that won't let the contract be verified?