clean up how aliveness is tracked, make it more sensitive and return errors better