finalizers
minor cleanup with class_new macro