include algorithm