viperfish creation functions added to core
refactored init code into a separate init file