Barclays fined £40m by FCA