implementation to make spec pass