primitive type is ready except for custom object
finished custom object