basic implementation for crawler