redundant method