Spintronic Devices