implemented rotation along axis