prefixing unrefined names so it is clearer they are special methods