Updated with memory stuff