adding 1d routines