add interface and stubs