finish the interface except bill's