added more functionality