added lots of missing things