start of OO overhaul
added a geometry module and reworked starshot