add functions for runtime