smaller buffer (not the solution)
add portno, also not the solution
bookkeeping