more tidy and re-organize