Clean up and get the basics working

looks like it only supports ascii now, but that is good for right now