don't use redundant method