more refactoring, preloading images, character moving