refactored out duplicated code for kill and non-kill versions of eval functions