use self instead of _varname, remove initwithnibname