not raise all
Cleaned up metric functions