add port checking feature
update deps