Are there any good libraries to use? Does it require an extension or can it work with a hardware device?