updates to add more functionatlity