Space time codes (STC) have been shown to be used well with the Multiple Input Multiple Output (MIMO) channel. The Orthogonal STC (OSTC) family of codes is known to achieve full diversity as well as very simple implementation of the Maximum Likelihood (ML) decoder. However, it was proven that with a complex symbol constellation one cannot achieve a full rate code when the number of transmitting antennas is larger than two. Quasi-OSTC can have full rate even for more than two transmitting antennas but with the penalty of decoding complexity which becomes severe if the constellation size is high. In order to tackle these inherent drawbacks of the OSTC/QSTC we propose a new STC code that, when used with a new transmission and decoding methods, achieves full rate while maintaining linear complexity decoding for any number of transmit antennas. Also if the transmitter knows the strongest channel (through minimal feedback) the code also achieves full diversity along with better error rate than the OSTC and the QSTC.