start writing the core