Reduced version. Still meed to shrink it more.