add some flexibility