banishing primitive types