finished moving collection to impl