moved hull into separate file