3 seach implementation

closes #3