remember last chosen device/orientation with localstorage
put transitions onto frame wrapper for maintainability