removed the need for external shell scripts