+ eval hack adapted from wearerequired