updates to all functions