re-refactor. Also get all the strings this time