Adding requirements and minor changes