a better UI .. not quite finished yet