refactoring in multiple files so it looks more like an app
refactor, retry and cancel buttons / actions