diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,11 @@
 # Version history of koji-tool
 
+## 1.1.1 (2023-10-20)
+- 'builds': reformat short build result to align better
+- 'install': detect ostree with "/sysroot/ostree" not rpm-ostree
+- 'tasks': reorder output format for better alignment
+- Time compactZonedTime: add space before timezone
+
 ## 1.1 (2023-07-22)
 - tasks: now shows children of 'build' task
 - install: correctly handle arch for installed packages (#4)
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -21,10 +21,13 @@
 shows the last successful build with a url and other details.
 
 ## Commands
-```shellsession
-$ koji-tool --version
-1.1
-$ koji-tool --help
+`$ koji-tool --version`
+```
+1.1.1
+```
+
+`$ koji-tool --help`
+```
 Query and track Koji tasks, and install rpms from Koji.
 
 Usage: koji-tool [--version] COMMAND
@@ -65,8 +68,8 @@
 
 By default lists up to 10 Fedora Koji builds.
 
-```shellsession
-$ koji-tool builds --help
+`$ koji-tool builds --help`
+```
 Usage: koji-tool builds [-H|--hub HUB] [(-u|--user USER) | (-M|--mine)]
                         [(-L|--latest) | (-l|--limit INT)] [-s|--state STATE]
                         [(-B|--before TIMESTAMP) | (-F|--from TIMESTAMP)]
@@ -132,8 +135,8 @@
 
 By default it lists 10 most recent Fedora Koji buildArch tasks.
 
-```shellsession
-$ koji-tool tasks --help
+`$ koji-tool tasks --help`
+```
 Usage: koji-tool tasks [-H|--hub HUB] [(-u|--user USER) | (-M|--mine)]
                        [(-L|--latest) | (-l|--limit INT)] [-s|--state STATE]
                        [-a|--arch ARCH]
@@ -268,8 +271,8 @@
 Subpackage selection has only been tested so far for a single build/task.
 
 ### Help
-```shellsession
-$ koji-tool install --help
+`$ koji-tool install --help`
+```
 Usage: koji-tool install [-n|--dry-run] [-D|--debug] [-y|--yes] [-H|--hub HUB]
                          [-P|--packages-url URL] [-l|--list] [-L|--latest]
                          [-t|--check-remote-time]
@@ -355,7 +358,7 @@
 This is useful for monitoring the build progress of large packages that take
 a long time to complete for which some arch's may take considerably longer.
 
-By default it shows progress of the user's builds.
+By default it shows progress of the user's open build tasks.
 
 ### Usage
 
@@ -382,12 +385,28 @@
 ## Installation
 koji-tool is packaged in Fedora
 
-## Build
-`cabal-rpm builddep && cabal install || stack install`
+## Building from git/source
+Either use `cabal-install` or `stack`.
+Either way you need a ghc compiler installed, of course.
 
+### Build from source with cabal
+
+With cabal, you can save a lot of time by first running `cabal-rpm builddep`
+to install distro deps, and then:
+
+```
+$ cabal install
+```
+
+### Build from source with stack
+
+```
+$ stack init --resolver lts
+$ stack install
+```
+
 ## Contributing
 koji-tool is distributed under a BSD license.
 
-Bug reports and contributions are welcomed:
-please report issues and suggestions at:
-https://github.com/juhp/koji-tool/
+Bug reports, suggestions and contributions are welcomed:
+please open an issue at: https://github.com/juhp/koji-tool/
diff --git a/TODO b/TODO
--- a/TODO
+++ b/TODO
@@ -9,6 +9,7 @@
 
 # misc
 - api-version command
+- swap '-M' (--mine) and '-m' (--method) ?
 
 # install
 - autodetect nvr
@@ -64,7 +65,7 @@
 # install
 - put package lists into Set's
 
-# misc
+# other
 - list binary packages (install does this, but not obvious)
 - diff build command
 - diff root.log
diff --git a/koji-tool.cabal b/koji-tool.cabal
--- a/koji-tool.cabal
+++ b/koji-tool.cabal
@@ -1,5 +1,5 @@
 name:                koji-tool
-version:             1.1
+version:             1.1.1
 synopsis:            Koji CLI tool for querying tasks and installing builds
 description:
         koji-tool is a CLI interface to Koji with commands to query
@@ -23,9 +23,9 @@
                      || == 8.8.4
                      || == 8.10.7
                      || == 9.0.2
-                     || == 9.2.7
-                     || == 9.4.5
-                     || == 9.6.2
+                     || == 9.2.8
+                     || == 9.4.7
+                     || == 9.6.3
 
 source-repository head
   type:                git
diff --git a/src/Builds.hs b/src/Builds.hs
--- a/src/Builds.hs
+++ b/src/Builds.hs
@@ -104,7 +104,7 @@
               Just (start,mend) ->
                 compactZonedTime tz $ fromMaybe start mend
           mbid = lookupStruct "build_id" bld
-      return $ nvr +-+ show state +-+ date +-+ maybe "" (buildinfoUrl hub) mbid
+      return $ date +-+ maybe "" (buildinfoUrl hub) mbid +-+ show state +-+ nvr
 
     setupQuery = do
       mdatestring <-
diff --git a/src/Install.hs b/src/Install.hs
--- a/src/Install.hs
+++ b/src/Install.hs
@@ -488,6 +488,8 @@
 
 data InstallType = ReInstall | Install
 
+-- FIXME support options per build: install ibus imsettings -i plasma
+-- (or don't error if multiple packages)
 installRPMs :: Bool -> Bool -> Maybe PkgMgr -> Yes
             -> [(FilePath,[(Existence,NVRA)])] -> IO ()
 installRPMs _ _ _ _ [] = return ()
@@ -505,12 +507,12 @@
         case mmgr of
           Just m -> return m
           Nothing -> do
-            mostree <- findExecutable "rpm-ostree"
-            case mostree of
-              Just _ -> return OSTREE
-              Nothing -> do
-                mdnf5 <- findExecutable "dnf5"
-                return $ maybe DNF3 (const DNF5) mdnf5
+            ostree <- doesDirectoryExist "/sysroot/ostree"
+            if ostree
+              then return OSTREE
+              else do
+              mdnf5 <- findExecutable "dnf5"
+              return $ maybe DNF3 (const DNF5) mdnf5
       let pkgmgr =
             case mgr of
               DNF3 -> "dnf-3"
diff --git a/src/Progress.hs b/src/Progress.hs
--- a/src/Progress.hs
+++ b/src/Progress.hs
@@ -44,6 +44,7 @@
 -- FIXME if failure and no more, then stop
 -- FIXME catch HTTP exception for connection timeout
 -- FIXME pick up new user builds (if none specified)
+-- FIXME noarch tasks shown with build arch
 progressCmd :: Bool -> QueryOpts -> TaskReq -> IO ()
 progressCmd modules queryopts@QueryOpts{..} taskreq = do
   tasks <- do
@@ -125,6 +126,9 @@
                 case lookupStruct "parent" taskinfo of
                   Nothing -> error' $ "no parent found for " ++ displayID tid
                   Just par -> TaskId par
+              -- FIXME support newrepo
+              -- https://koji.fedoraproject.org/koji/taskinfo?taskID=104446426
+              -- https://kojipkgs.fedoraproject.org//work/tasks/6426/104446426/
               _ -> error' $ "unsupported method: " ++ method
   children <- sortOn (\t -> lookupStruct "arch" t :: Maybe String) <$>
                       kojiGetTaskChildren fedoraKojiHub parent True
diff --git a/src/Tasks.hs b/src/Tasks.hs
--- a/src/Tasks.hs
+++ b/src/Tasks.hs
@@ -292,11 +292,12 @@
           Nothing -> maybe "" (compactZonedTime tz) mstart
   in
     unwords $
-    [showPackage pkg ++ if method == "buildArch" then '.' : arch ++ replicate (8 - length arch) ' ' else ' ' : method,
-     show state,
-     time] ++
+    [time,
+     taskinfoUrl hub taskid] ++
     ["(" ++ renderDuration True dur ++ ")" | Just start <- [mstart],  Just end <- [mend], let dur = diffUTCTime end start] ++
-    [taskinfoUrl hub taskid]
+    [show state,
+     showPackage pkg ++ if method == "buildArch" then '.' : arch ++ replicate (8 - length arch) ' ' else ' ' : method]
+
 
 -- FIXME show task owner
 formatTaskResult :: String -> Maybe UTCTime -> TimeZone -> TaskResult -> [String]
diff --git a/src/Time.hs b/src/Time.hs
--- a/src/Time.hs
+++ b/src/Time.hs
@@ -27,7 +27,7 @@
 
 compactZonedTime :: TimeZone -> UTCTime -> String
 compactZonedTime tz =
-  formatTime defaultTimeLocale "%Y-%m-%d %H:%M:%S%Z" . utcToZonedTime tz
+  formatTime defaultTimeLocale "%Y-%m-%d %H:%M:%S %Z" . utcToZonedTime tz
 
 data TimeEvent = CreateEvent | StartEvent | CompletionEvent
 
