added rotation support