draft ixf:
revise ixf:
draft functions