refactor StackData and add | operator (to rotate 180)