adds new implementation in c.