bare structure for js interaction