modified to use only one external dependency