new compass bearing logic