BCS theory