rework of ACL class to break some cross-dependencies