added more funtionality