use exec instead of eval