def euler_integration(nodes, forces_per_node, step_size):
    """
    nodes: Ex5, [x, y, vx, vy, is_fixed]
    forces_per_node: Ex2, [fx, fy] acting on each edge
    step_size: scalar

    returns:
    nodes with updated velocities
    """
    is_fixed = nodes[..., 4:5]

    # set forces to zero for fixed nodes
    forces_per_node *= 1 - is_fixed
    new_vel = nodes[..., 2:4] + forces_per_node * step_size # v1 = v0 + f*dt
    return new_vel