too slow proto, but seems working