bug fixed, transpose method added