implement proper player movement
split things into their own channels