Updated to use guard fully