add function demo