initial version. It actually calculates something reasonable