hardware constraints