tidied up add/remove methods