the 4 reference types