first (working) cursory pass at checking for eval()