split alignment module and improve alignment (still refining)