Persistent memory modules with performance similar to that of standard DRAM are becoming commercially available. In addition to the potential decrease in cost and/or capacity, the nonvolatility of data stored in them is opening new doors to improved performance and new capabilities in a wide range of applications. In this paper we address issues involved in providing the software support for effective use of such memory systems. In particular, we discuss the API to be used for accessing persistent memory and propose a novel scheme to provide atomic and in order memory access. Insuring that memory access are performed in order and if need be atomically has turned out to be a significant challenge in the presence of one or more levels of volatile caches. The solutions offered to this date either require disabling caching, significant changes in the hardware, or frequent use of cache flushes and memory fences. All these requirements have a significant impact on the system performance. In contrast, Eucalyptus presented in paper is a software only solution which relaxes these requirements by separating consistency and persistency of data. Preliminary results obtained from our prototype are presented as well.