add parameter parsing and check