Added new function list_ports that takes 'unknown kwargs'