ok I think this works quite well now.. I do the rest of the bug fixing
tomorrow