eval logic extracted