primitive version