changed some mechanics