force sorted
actually calculate alignment