initial ugly client functionality