testing type, because #name doesn't represent a port well enough
removed useless assignment
allows to add several ports with one method call
now warns if a port needs to be created