Everything except for promotion is done and needs to be tested