work on primitive objs