dividing AP_Compass into frontend/backend (still working on it)