Add check on parameter -p and refactor