updated system for adding new elements