dynamically choose characters