added orthogonal initialization