describe why there are so many port definitions
update readme with usage