add copyright
refactoring
add suport for parameters