added intersperse function