abstracted away some cl boilerplate, now updatecl functions are cleaner