laying out the basics