add c function