Major refactor: Class based, parallelism, documentation