fix: use double instead of float