changed some mechanics for better consistency