added compilation and argument printing