added necessary-evil library