added in more stuff & some tests