refactor some more views out to shared ui lib