Added check for if no devices are found
init now returns success
Freed device list
Added close function, removed device list freeing due to double frees