added upgrade system and did some fixes and balancing