Tidied up how adding data works