split functionality