refactor, better var names, remove dup code