adding port selection on start
added more powerful argument handling