Basic shop implementation + bunch of random changes.