cleanup and readability