software improvements