moved dependency interfaces to needle package