self method