size function complete