add DIRECTIONS
use virtual input
refactoring
refactoring
change map draw function
add log function