resolve #18 add empty and full primitives