Finished basic functions for dry run