use pointer-to-long cast