a few functional updates