updated. no huge bugs