cleaned up by utilizing structures