Everything works. About to merge