more detailed and tidy