adapt structure to multiple devices