begin with basic definitions and resources