It seems that there are some issues with how the method works in some environments (see #16, #52). Perhaps we can do everything strictly in-memory?