start defining record calculus