added some structs and methods to add, remove or edit elements