Needs more context and memory management