add prop & some func