Updating to be a bit more flexible