Major overhaul! Check the readme