bad to overwrite drawChild