add more freedom