decoupled some stuff