code flexibility