Separated definitions and write instances