initial interface and result