Move primitive system to use classes