prevent method call cycle