improvements from kaedroho feedback