Added formal requirements