naive algorithm added, no interface