a lot of refactoring, some UI, some fixes