simplify interface, read ports from config