If you want some guidance, read
but only up to the point that says "stop reading here if you want to write these yourself."