Movement not working

package  {
	import flash.display.MovieClip
	import flash.events.Event
	import flash.events.*
	
	public class Main extends MovieClip{
		
		var up, down, left, right:Boolean = false;

		public function Main() {
			// constructor code
			this.addEventListener(Event.ENTER_FRAME, movement);
			this.addEventListener(KeyboardEvent.KEY_DOWN, keydown);
			this.addEventListener(KeyboardEvent.KEY_UP, keyup);
		}
	
		function movement(e:Event){
			if(up == true){
				player.y += 1;
			}
			if(right == true){
				player.x += 1;
			}
			if(down == true){
				player.y -= 1;
			}
			if(left == true){
				player.x += 1;
			}
		}
		function keydown(event) {
			if(event.keyCode == 39){
				right = true
			}
			if(event.keyCode == 38){
				up = true
			}
			if(event.keyCode == 37){
				left = true
			}
			if(event.keyCode == 40){
				down = true
			}
		}
			function keyup(event) {
			if(event.keyCode == 39){
				event.keyCode = 0
				right = false;
			}
			if(event.keyCode == 38){
				event.keyCode = 0
				up = false
			}
			if(event.keyCode == 37){
				event.keyCode = 0
				left = false
			}
			if(event.keyCode == 40){
				event.keyCode = 0
				down = false
			}
		}
	}
	
}

What’s wrong with this?
Main is my document class, and player is a MC on the main timeline.