added half-life functions