added some simple calculations, may be wrong