added actual length function