some bad programmed UI stuff
begin with c++ backend