add naive implementation