more flexible variables