Reorganize code a bit
Add interface class for vector fields