started hacking on some guide stuff, this code could use some refactoring someday