finish need commenting