commented recurring functions