refactor to static param and instance param