better easier structure