Fundamentals of Model Theory