implemented a bunch of str funcs