public interfaces and so