reauire parameter in constructor