added eieio for old version