making the main method useful
massive ovehaul in progress
work in progress