separate out UI, bug fixes