Major updates to functionality.