trying to support more compact definitions