Fixed a few bugs, implemented to_string()s, added to_printer()s