small changes to collision fuctions and added an enum