first version nearly done

but many improves possible