implemented dobule3