update to use compass and actually work