implemented orientation