refactor to make things named more logically