now only using def instead of val in interfaces