dealing with funky python stuff (method recursion, method scopes)