add logger and some functionality
moving functionality
implement direction functionality