applied new algorithm, adjusted collision fields
added new methods, removed normal vector calculation (now via cross
product in vector class