first pass at calculations