started implementing ui_element.cpp