parameters implementation + design