better to-alac function