fleshing out the basics