add DIP interface and test