Still leaks memory, AUGGH NEEDS TO BE FIXED