Specifications and requirements

