seems to work, char switching problems