draw the UI programatically