adding basis routines