scaffold functions