made everything into classes instead of just files filled with functions
added some to hull class