interface all funnc