work in progress, add access control with annotations