base invention class