one of many refactores