add self method which returns self