client interface with show/edit