Added permission checking, proper annotation format checking.