Key Control lag problem

Hi all, i got this problem with this following code.
In a way, it work prefectly, but if you try it out and test it carefully, there is a small lag sometime which u change between the arrow key. Can anyone pls highlight to me which part of this code goes wrong?


onClipEvent (enterFrame) {
	x = this._x;
	y = this._y;

	if (xvalue == "goLeft") {
		// go left value
		this._x = this._x-3;
	}
	if (xvalue == "goRight") {
		// go right value
		this._x = this._x+3;
	}
}
onClipEvent (keyDown) {

	if (Key.getCode() == 37) {
		xvalue = "goLeft";
	}
	if (Key.getCode() == 39) {
		xvalue = "goRight";
	}
}
onClipEvent (keyUp) {
	if (Key.getCode() == 37) {
		xvalue = "stop";
	}
	if (Key.getCode() == 39) {
		xvalue = "stop";
	}
}


The fla is avilable here:
http://www.dreamance.com/download/ctrlProblem.zip

Thanks