Semi working properly just need to format output, and write a function that uses the current buffer, or a user chosen buffer.