streamlined code split update into multiple functions