add primitives demo