update and added new features