Fixed ugly build failure
Extracted Vessel interfaces and added source code documentation