remove finishes and derive disconnect instead