implement additional methods