Modify not to use eval()