base element refactor v1