Implementing some contraints