tests, components adding correctly - but there are some edge cases that probably should throw errors rather than do what they are currently doing