restored all original functionality