finish up implementing const/nonconst functions