check receiver before optimize