x){
    return x * client_x_step + client_x_center;
}

function y_to_client(y){
    return client_y_center - y * client_y_step;
}

function draw_grid_on(context){
    context.font = "16px sans-serif";
    // axes
    context.beginPath();
    context.moveTo(0, client_y_center);
    context.lineTo(w, client_y_center);
    context.lineTo(w - 12, client_y_center - 5);
    context.moveTo(w, client_y_center);
    context.lineTo(w - 12, client_y_center + 5);
    context.moveTo(client_x_center, h);
    context.line