live-function refactoring