Revises many functions