using correct primitive defined types