Added refactored tensor class
Split tensor into several header files