initial code draft ready