implemented specs