PLEASE clean up adding and removing functionality