Nonstandard methods for finite structures