don't redundant self