almost, completely done! still would like to test some more