rename and move stuff around to improve readability