implement UI functionality, removed the new idea branch