DRY;
fix viewport bug;
add argument support to jakefile;