change name and add port strcture