implemented further input arguments