add smith-waterman align function