prototype for expand