Halfway done for #12.