basic framework for alignment