implement things ^AR