compass algorithm works now quite well