implement ex.func