added again areacalculator.cpp from shapesnonocp