#28 Refactor UI