refactor names to make sense