initial commit
params are now checked and filled with defaults

if they happen to be empty