Minor changes and added more requirements.