Update design and names, fix bugs, use new docs