80% done with the ui / client.