added self prototype #2