add auto end, string hash, etc