implement ex.fn