better organization of parameters with an interface