Try to avoid recursions