A Reflection Principle and its Applications to Nonstandard Models