remove unnecessary self