added DoubleCalculable and some tests