Added dependencies
Implemented specifications.