Lots of refactoring, minor bug fixes, implement spoiler, implement charge parcentage