need to work on the vector calculations, cleaning up using modules
Draft using classes needs to be reviewed