Basic AO functionality implemented, but not tested