Rewrote UI implementation in order to support multiple rows and columns
of elements