reuse port
some small changes