ok,  pseudo data interface all!