add in more funtionality