first implementation of client + shell + write