added some more functionality and updates