Added smokeprovider and finished pin implementation