changed primitives to objects