require self