with size
first few packet types implemented