simplify and take away some coupling