add ian's functions