add gen server callbacks