changed pattern. not sure whther improved or destroyed functionality