lvalues should be interfaces if possible.
removed pointless assignments and final keyword on static functions.
removed dependency on vpro again