Only use pure methods to prevent memory leaks