replace hard-coding