Added a lot of new functions since the last push.