some work on the client frontend