C: create functionality