make it a self contained program