What software/hardware does it require? Any more info on its capabilities?