core -> device