almost done with compiler errors