added code_layout, constants and constrctors