Basic memory management using pools