solution for AP2