get less redundant by not repeating self