Replace intrinsic methods with polymorphic objects
Fix Linux build