replaced single with double precission